Adaptive bitrate (ABR) streaming is a technique used in streaming multimedia over computer networks. While in the past most video streaming technologies utilized streaming protocols such as Real-time Transport Protocol (RTP) with Real Time Streaming Protocol (RTSP) today's adaptive streaming technologies are almost exclusively based on Hypertext Transfer Protocol (HTTP) and designed to work efficiently over large distributed HTTP networks such as the Internet. Adaptive bitrate streaming works by detecting a user's bandwidth and Central Processing Unit (CPU) capacity in real time and adjusting the quality of a video stream accordingly. It uses an encoder which can encode a single source video at multiple bit rates. The player client switches between streaming the different encodings depending on available resources.